DV 18 - CD-ROM ÇÃåüèo

(çXêVì˙: 97 îN 1 åé 31 ì˙)

Q: äJî≠íÜÇÃÉAÉvÉäÉPÅ[ÉVÉáÉìÇÕÉnÅ[ÉhÉfÉBÉXÉNÇ©ÇÁé¿çsǵNjÇ∑Ç™ÅAì¡éÍÇ» CD-ROM Ç™ÉVÉXÉeÉÄÇ…ÉZÉbÉgÇ≥ÇÍǃǢÇÈïKóvǙdžÇËÇ‹Ç∑ÅBÉÜÅ[ÉUÇ…ÇÊǡǃÇÕÅAÉnÅ[ÉhÉfÉBÉXÉNÇÃÉ{ÉäÉÖÅ[ÉÄÇ‹ÇΩÇÕÉtÉçÉbÉsÅ[ÉfÉBÉXÉNǙDZÇà CD-ROM ÇΔìØÇ∂ñºëOÇ≈džÇÈâ¬î\ê´Ç‡Ç†ÇËÇ‹Ç∑ÅBDZǧǵÇΩèÛãµÇÉ`ÉFÉbÉNÇ∑ÇÈÇΩÇflÅAÉAÉvÉäÉPÅ[ÉVÉáÉìÇ≈ÇÕÅAì¡íËÇÃñºëOÇÃÉtÉ@ÉCÉãÇä‹Çfiì¡ï Ç»ñºëOÇÃÉçÉbÉNÇ≥ÇÍÇΩÉ{ÉäÉÖÅ[ÉÄÇåüçıǵNjÇ∑Ç™ÅADZÇÃÉvÉçÉZÉXÇä»ó™âªÇµÇΩÇ¢ÇΔçlǶǃǢNjÇ∑ÅBÉ}ÉEÉìÉgÇ≥ÇÍǃǢÇÈÉ{ÉäÉÖÅ[ÉÄÇ‹ÇΩÇÕ SCSI ÉAÉhÉåÉXÇ™ CD-ROM Ç≈džÇÈǩǫǧǩÇîªífÇ∑ÇÈÇΩÇflÇÃç≈ìKÇ»ï˚ñ@Çã≥ǶǃÇ≠ÇæÇ≥Ç¢ÅB

A: DZÇÍÇ‹Ç≈ÅAMacintosh è„ÇÃÉ{ÉäÉÖÅ[ÉÄÇ™ CD-ROM Ç≈džÇÈǩǫǧǩÇîªífÇ∑ÇÈä»ï÷Ç»ï˚ñ@ÇÕë∂ç›ÇµÇ‹ÇπÇÒÇ≈ǵÇΩÅBDZÇÃÇΩÇflÅAÉfÉxÉçÉbÉpÇÕÇ≥NjǥNjǻï˚ñ@ÇééǛǃǴNjǵÇΩÅB

  1. É}ÉEÉìÉgÇ≥ÇÍǃǢÇÈÉhÉâÉCÉuÇ…ëŒÇ∑ÇÈÉhÉâÉCÉuÉLÉÖÅ[ÇÃóvëfÇí≤Ç◊ǃÅAdQRefNum Ç™É|ÉCÉìÉgǵǃǢÇÈÉhÉâÉCÉoÇì¡íËǵNjÇ∑ÅBÇ≥ÇÁÇ…ÅADZÇÃÉhÉâÉCÉoÇÃñºëOÇí≤Ç◊ǃÅAǪÇÍÇ™ ".AppleCD" Ç≈džÇÍÇŒÅAǪÇÃÉhÉâÉCÉuÇÕǮǪÇÁÇ≠ CD-ROM Ç≈Ç∑ÅB

    DZÇÃÉAÉvÉçÅ[É`Ç™â¬î\Ç»ÇÃÇÕ Apple èÉê≥Çà CD-ROM ÇæÇØÇ≈Ç∑ÅBÉTÅ[ÉhÉpÅ[ÉeÉBêª CD-ROM ÉhÉâÉCÉoÇÃñºëOÇÕÇ‹ÇøÇ‹ÇøÇ≈džÇÈÇΩÇflDZÇÃï˚ñ@ÇÕégǶNjÇπÇÒÅB
  2. ÉhÉâÉCÉuÉLÉÖÅ[ÉGÉìÉgÉäÇÃëODždžÇÈ 4 ÉoÉCÉgÇ…äiî[Ç≥ÇÍǃǢÇÈÉhÉâÉCÉuÇÃëÆê´Çí≤Ç◊Ç‹Ç∑ÅB"ÉnÅ[ÉhÉEÉFÉAì‡Ç≈ÉçÉbÉN" Ç≥ÇÍǃǢǃÅAǵǩLJÉäÉÄÅ[ÉoÉuÉãÇ≈džÇÈèÍçáÅAǪÇÃÉhÉâÉCÉuÇÕǮǪÇÁÇ≠ CD-ROM Ç≈Ç∑ÅB
  3. ÉhÉâÉCÉuÇ…ëŒÇµÇƒíºê⁄ SCSI ÉäÉNÉGÉXÉgÇî≠çsǵNjÇ∑ÅB

    DZÇÃï˚ñ@ÇÕàÍïîÇÃèâä˙å^ CD-ROM (SCSI-2 Ç…èÄãíǵǃǢǻǢLJÇÃ) Ç…ÇÕégǶNjÇπÇÒÅBSCSI-2 à»ëOÇ…ÇÕÅACD-ROM ÇÃÉfÉoÉCÉXÉ^ÉCÉvÇÕíËã`Ç≥ÇÍǃǢNjÇπÇÒÇ≈ǵÇΩÅBDZÇÃÇΩÇflÅAàÍïîÇà CD-ROM ÉhÉâÉCÉuÇ≈ÇÕÅAǪÇÍÇ™ÉnÅ[ÉhÉfÉBÉXÉNÇ≈džÇÈÇΔǢǧÉåÉ|Å[ÉgÇçsǡǃǢNjǵÇΩÅBSCSI Manager 4.3 Ç…ÇÊǡǃñ‚ëËÇÕÇ≥ÇÁÇ…ï°éGâªÇµÇƒÇ¢Ç‹Ç∑ÅBÇ‹ÇΩÅAIDE CD-ROM ÉhÉâÉCÉuÇÃèÍçáÇ…ÇÕÅANjǡÇΩÇ≠àŸÇ»ÇÈåƒÇ—èoǵÉAÅ[ÉLÉeÉNÉ`ÉÉÇ™ïKóvÇΔÇ»ÇËÇ‹Ç∑ÅB

    Ç≥ÇÁÇ…ÅAPowerBook 1400 ÇÃÇÊǧǻàÍïîÇÃêVã@éÌÇ‚ëΩêîÇÃå›ä∑ã@Ç≈ÇÕÅAATAPI ÉvÉçÉgÉRÉãÉxÅ[ÉXÇà CD-ROM ÉhÉâÉCÉuÇ™égópÇ≥ÇÍǃǮÇËÅAí èÌçsǧÇÊǧǻ SCSI åüç∏Ç≈ÇÕèÓïÒÇ™ìæÇÁÇÍÇ‹ÇπÇÒÅB

ǵǩǵÅA.AppleCD (Ç®ÇÊÇ— .AppleCD å›ä∑) ÉhÉâÉCÉoÇÃÉoÅ[ÉWÉáÉì 5.2.x à»ç~ÅACD-ROM ÉhÉâÉCÉoÇ≈ÇÕÅADriverGestalt csCode Ç™ÉTÉ|Å[ÉgÇ≥ÇÍNjǵÇΩÅB

DZÇÍÇÁÇÃÉhÉâÉCÉoÇégǡǃÅAÉÅÉfÉBÉAÇ™ë}ì¸Ç≥ÇÍǃǢÇÈ CD-ROM ÉhÉâÉCÉuÇåüèoÇ∑ÇÈÇΩÇflÅAÉhÉâÉCÉuÉeÅ[ÉuÉãÇÉXÉLÉÉÉìǵÅAÉhÉâÉCÉoÇ…ëŒÇµÇƒ DriverGestalt ÉRÉ}ÉìÉhÇî≠çsǵǃÅAÉfÉoÉCÉXÉ^ÉCÉvÇämíËÇ∑ÇÈDZÇΔÇ™Ç≈Ç´Ç‹Ç∑ÅBéüÇÃÉRÅ[ÉhÇÕÅADZÇÃï˚ñ@ÇãÔëÃìIÇ…é¶ÇµÇƒÇ¢Ç‹Ç∑ÅB
#include 

void FindTheCD-ROMS(void)  //  ÉhÉâÉCÉuÉeÅ[ÉuÉãÇÉXÉLÉÉÉìǵǃ CD-ROM Çå©Ç¬ÇØÇÈ

{
    DriverGestaltParam          pb;
    DrvQEl  *dqp;
    OSErr   status;

    pb.csCode       = kDriverGestaltCode;       // Driver Gestalt PB ÇÉZÉbÉgÉAÉbÉvÇ∑ÇÈ
    pb.driverGestaltSelector = kdgDeviceType;   // ÉfÉoÉCÉXÉ^ÉCÉvÇämîFÇ∑ÇÈ

    dqp = (DrvQEl *) GetDrvQHdr()->qHead;       // ÉhÉâÉCÉuÉLÉÖÅ[ÇÃêÊì™Ç©ÇÁénÇflÇÈ

    while (dqp != NULL) {                       //ÉhÉâÉCÉuÉLÉÖÅ[Ç…ä‹Ç‹ÇÍÇÈäeÉfÉoÉCÉXDžǬǢǃ

        pb.ioCRefNum    = dqp->dQRefNum;            // ÉhÉâÉCÉoÇà refNum ÇéÊìæÇ∑ÇÈ
        pb.ioVRefNum    = dqp->dQDrive;             // ÉhÉâÉCÉuÇà refNum ÇéÊìæÇ∑ÇÈ

        status = PBStatusSync((ParmBlkPtr) &pb);    // ÉhÉâÉCÉoÇÃÉQÉVÉÖÉ^ÉãÉgÇåƒÇ—èoÇ∑

        if (status == noErr)
            if(pb.driverGestaltResponse == kdgCDType ) // ÉfÉoÉCÉXÉ^ÉCÉvÇÕ 'cdrm'
            {
                    printf("Drive: %d Driver:(%d) ",
                             (int) dqp->dQDrive, dqp->dQRefNum);
            }

        dqp = (DrvQEl *) dqp->qLink;                // éüÇÃÉhÉâÉCÉu
    }
}
ÉTÉìÉvÉãëSëÃÇÕÅAMacintosh Disk Driver Gestalt Sample ÇΔǢǧÉ^ÉCÉgÉãÇ≈ DTS Ç…ópà”Ç≥ÇÍǃǢNjÇ∑ÅBDZÇÃÉTÉìÉvÉãÉvÉçÉOÉâÉÄÇÃíÜÇ≈ÇÕÅAÉfÉoÉCÉXÇÃÉNÉGÉäÅ[Ççsǧï˚ñ@Ç™ãÔëÃìIÇ…é¶Ç≥ÇÍǃǢNjÇ∑ÅB

É}ÉEÉìÉgÇ≥ÇÍǃǢǻǢÉhÉâÉCÉuÇåüèoÇ∑ÇÈÇ…ÇÕÅAïKóvÇ…âûÇ∂ǃÅASCSI Ç‹ÇΩÇÕ ATA É}ÉlÅ[ÉWÉÉÇÃÇ¢Ç∏ÇÍÇ©ÇégópÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB"ATA demo" ÇΔǢǧ DTS ÉRÅ[ÉhÉTÉìÉvÉãÇ≈ÇÕÅAATA ÉoÉXÇÉXÉLÉÉÉìǵÅAégópâ¬î\Ç»ÉfÉoÉCÉXÇì¡íËÇ∑ÇÈï˚ñ@Ç™ãÔëÃìIÇ…é¶Ç≥ÇÍǃǢNjÇ∑ÅB

Ç‹ÇΩÅAÉoÅ[ÉWÉáÉì 5.2.X à»ç~Çà .AppleCD ÉhÉâÉCÉoÇ…ÇÕÅACD-ROM ÉfÉoÉCÉXÇÃÉ^ÉCÉvÇ…ä÷Ç∑ÇÈèÓïÒÇï‘Ç∑ÅAÉhÉâÉCÉoÇÃÉXÉeÅ[É^ÉXÇéÊìæÇ∑ÇÈåƒÇ—èoǵǙópà”Ç≥ÇÍǃǢNjÇ∑ÅB

éüÇÃÉpÉâÉÅÅ[É^ÇégǡǃÅA.AppleCD ÉhÉâÉCÉoÇÃÉXÉeÅ[É^ÉXÇéÊìæÇµÇ‹Ç∑ÅB
    csCode = 120
    csParam[ 0 -1]   will return a DeviceIdent of the form

typedef struct DeviceIdent{
  uchar busType;       // SCSI -  0                ATAPI = 7
  uchar bus;           // SCSI - Bus#              ATAPI = 0
  uchar targetID;      // SCSI - Target SCSI ID    ATAPI = Bus #
  uchar partition ;    // SCSI - LUN               ATAPI  = 0
}
íçà”Ç∑Ç◊Ç´ì_: .AppleCD ÉhÉâÉCÉoÇÃå√Ç¢ÉoÅ[ÉWÉáÉìÇégópǵǃǢÇÈèÍçáÅAè„ÇÃåƒÇ—èoǵÇÕê≥èÌÇ…ìÆçÏǵNjÇπÇÒÅBDZÇÃèÍçáÇÕÅAëOèqÇÃï˚ñ@ÇÃÇ¢Ç∏ÇÍÇ©ÇééÇ›ÇÈÇ©ÅAÉÜÅ[ÉUÇ… CD-ROM ÉhÉâÉCÉoÇÃÉAÉbÉvÉfÅ[ÉgÇóvãÅÇ∑ÇÈïKóvǙdžÇËÇ‹Ç∑ÅB

Updated by Vinnie Moscaritolo
devsupport@apple.com


[ Technical Q&A's : Devices : DV18 ]